package com.mililoan.persist.system;

import java.util.ArrayList;

import com.mililoan.model.system.Actor;
import com.mililoan.model.system.Function;


/**
 * 用户权限表操作接口类
 * 
 * @author mwei
 *
 */
public interface UserRightDao {
	/**
	 * 为用户添加角色
	 * 
	 * @param userId
	 * @param actor
	 * @return
	 */
	public boolean addUserActor(Long userId, Integer actorId) throws Exception;

	/**
	 * 为用户添加角色
	 * 
	 * @param userId
	 *            用户ID
	 * @param actor
	 *            角色
	 * @return
	 */
	public boolean addUserActor(Long userId, ArrayList<Integer> actorCodes) throws Exception;

	/**
	 * 为用户添加功能
	 * 
	 * @param userId
	 *            用户ID
	 * @param actor
	 *            角色
	 * @return
	 */
	public boolean addUserFun(Long userId, ArrayList<Integer> funCodes) throws Exception;

	/**
	 * 删除用户所有角色和功能
	 * 
	 * @param userId
	 * @param userId
	 * @return
	 */
	public boolean delUserActor(Long userId);

	/**
	 * 获得一个用户的所有角色
	 * 
	 * @param userId
	 * @return
	 */
	public ArrayList<Actor> getActorsById(Long userId);

	/**
	 * 获得一个用户的所有功能点
	 * 
	 * @param userId
	 * @return
	 */
	public ArrayList<Function> getFuncsById(Long userId);

	public boolean add(final Long userId, final String ptype, final Integer code, final String flag)
			throws Exception;
	
}
